import axios from 'axios'
import Vue from 'vue'
import store from '@/store'
//创建实例
const instance = axios.create({
  baseURL: 'http://kumanxuan1.f3322.net:8001',
  timeout: 5000
})


//请求拦截
instance.interceptors.request.use(config => {
  //请求loading效果
  //这个请求到响应太快了，几乎看不到，没有感觉
  // store.commit('changeLoading', true)
  Vue.prototype.$toast.loading({
    message: '加载中...',
    duration: 50
  })
  //根据后台接口，添加购物车等功能需要在请求头中携带X-Nideshop-Token。
  //注意属性名含特殊符号，添加该属性需要用[]访问。
  let token = localStorage.getItem(token)
  if (token) {
    config.headers['X-Nideshop-Token'] = token
  }
  return config
}, err => {
  return Promise.reject(err);
})

//响应拦截
instance.interceptors.response.use(res => {
  //关闭请求loading效果
  // store.commit('changeLoading', false)
  return res.data
}, err => {
  //axios响应请求的错误直接在拦截器给return了，
  //那判断对错呢？
  return Promise.reject(err);
})


export default instance;